/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejercicio6_2;

/**
 *
 * @author Joaquin
 */
public class Ejercicio6_2
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        int num = consola.Consola.leerInt("introduzca numero de dia");
        while (num < 0 || num > 365)
        {
            num = consola.Consola.leerInt("Numero erroneo. Introduzca numero de dia");
        }

        int anio = consola.Consola.leerInt("introduzca numero de año");

        boolean bisiesto = false;
        if (anio % 4 == 0 && (anio % 100 != 0 || anio % 400 == 0))
        {
            bisiesto = true;
        }

          // forma 1
//        if (num < 31)
//        {
//            System.out.println(num + " de enero ");
//        } else if (num < 59)
//        {
//            num = num - 31;
//            System.out.println(num + " de febrero ");
//        } else if (num < 90 && !bisiesto)
//        {
//            num = num - 59;
//            System.out.println(num + " de marzo ");
//        } else if (num < 120 && !bisiesto)
//        {
//            num = num - 90;
//            System.out.println(num + " de abril ");
//        } else if (num < 151 && !bisiesto)
//        {
//            num = num - 120;
//            System.out.println(num + " de mayo ");
//        } else if (num < 181 && !bisiesto)
//        {
//            num = num - 151;
//            System.out.println(num + " de junio ");
//        } else if (num < 212 && !bisiesto)
//        {
//            num = num - 181;
//            System.out.println(num + " de julio ");
//        } else if (num < 243 && !bisiesto)
//        {
//            num = num - 212;
//            System.out.println(num + " de agosto ");
//        } else if (num < 273 && !bisiesto)
//        {
//            num = num - 243;
//            System.out.println(num + " de septiembre ");
//        } else if (num < 304 && !bisiesto)
//        {
//            num = num - 273;
//            System.out.println(num + " de octubre ");
//        } else if (num < 304 && !bisiesto)
//        {
//            num = num - 273;
//            System.out.println(num + " de noviembre ");
//        } else if (!bisiesto)
//        {
//            num = num - 304;
//            System.out.println(num + " de diciembre ");
//        } /// ********* Empiezan los bisiestos ************** ////
//        else if (num < 91 && bisiesto)
//        {
//            num = num - 59;
//            System.out.println(num + " de marzo ");
//        } else if (num < 121 && bisiesto)
//        {
//            num = num - 91;
//            System.out.println(num + " de abril ");
//        } else if (num < 152 && bisiesto)
//        {
//            num = num - 121;
//            System.out.println(num + " de mayo ");
//        } else if (num < 182 && bisiesto)
//        {
//            num = num - 152;
//            System.out.println(num + " de junio ");
//        } else if (num < 213 && bisiesto)
//        {
//            num = num - 182;
//            System.out.println(num + " de julio ");
//        } else if (num < 244 && bisiesto)
//        {
//            num = num - 213;
//            System.out.println(num + " de agosto ");
//        } else if (num < 274 && bisiesto)
//        {
//            num = num - 244;
//            System.out.println(num + " de septiembre ");
//        } else if (num < 305 && bisiesto)
//        {
//            num = num - 274;
//            System.out.println(num + " de octubre ");
//        } else if (num < 305 && bisiesto)
//        {
//            num = num - 274;
//            System.out.println(num + " de noviembre ");
//        } else
//        {
//            num = num - 305;
//            System.out.println(num + " de diciembre ");
//        }

          // forma 2
//        int primerDiaMes = 0;
//        int mesAct = 1;
//
//        if (num > 31)
//        {   // Febrero
//            primerDiaMes = 31;
//            mesAct = 2;
//        }
//        if (num > (primerDiaMes + 28))
//        {
//            // Marzo
//            primerDiaMes = primerDiaMes + 28;
//            mesAct = 3;
//
//            if (bisiesto)
//            {
//                primerDiaMes++;
//            }
//        }
//        if (num > (primerDiaMes + 31))
//        {
//            // Abril
//            primerDiaMes = primerDiaMes + 31;
//            mesAct = 4;
//        }
//        if (num > (primerDiaMes + 30))
//        {   // MAyo
//            primerDiaMes = primerDiaMes + 30;
//            mesAct = 5;
//        }
//        if (num > (primerDiaMes + 31))
//        {   // Junio
//            primerDiaMes = primerDiaMes + 31;
//            mesAct = 6;
//        }
//        if (num > (primerDiaMes + 30))
//        {   // Juluo
//            primerDiaMes = primerDiaMes + 30;
//            mesAct = 7;
//        }
//        if (num > (primerDiaMes + 31))
//        {   // Agosto
//            primerDiaMes = primerDiaMes + 31;
//            mesAct = 8;
//        }
//        if (num > (primerDiaMes + 31))
//        {   // Septiembre
//            primerDiaMes = primerDiaMes + 31;
//            mesAct = 9;
//        }
//        if (num > (primerDiaMes + 30))
//        {   // Octubre
//            primerDiaMes = primerDiaMes + 30;
//            mesAct = 10;
//        }
//        if (num > (primerDiaMes + 31))
//        {   // Noviembre
//            primerDiaMes = primerDiaMes + 31;
//            mesAct = 11;
//        }
//        if (num > (primerDiaMes + 30))
//        {   // diciembre
//            primerDiaMes = primerDiaMes + 30;
//            mesAct = 12;
//        }
//
//        System.out.print((num - primerDiaMes) + " de ");
//
//        switch (mesAct)
//        {
//            case 1:
//                System.out.println("enero");
//                break;
//            case 2:
//                System.out.println("febrero");
//                break;
//            case 3:
//                System.out.println("marzo");
//                break;
//            case 4:
//                System.out.println("abril");
//                break;
//            case 5:
//                System.out.println("mayo");
//                break;
//            case 6:
//                System.out.println("junio");
//                break;
//            case 7:
//                System.out.println("julio");
//                break;
//            case 8:
//                System.out.println("agosto");
//                break;
//            case 9:
//                System.out.println("septiembre");
//                break;
//            case 10:
//                System.out.println("octubre");
//                break;
//            case 11:
//                System.out.println("noviembre");
//                break;
//            case 12:
//                System.out.println("dicimbre");
//                break;
//
//        }
        
        // Con constantes
        final int ENERO=1;
        final int FEBRERO=2;
        final int MARZO=3;
        final int ABRIL=4;
        
        // forma 3
        int ultimoDiaMes = 31;
        int primerDiaMes = 0;
        int mesActual = 1;
        
        while (num > ultimoDiaMes)
        {
            mesActual++;
            primerDiaMes = ultimoDiaMes;
            
            switch (mesActual)
            {
                case MARZO:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    ultimoDiaMes = primerDiaMes + 31;
                    break;
                case ABRIL:
                case 6:
                case 9:
                case 11:
                    ultimoDiaMes = primerDiaMes + 30;
                    break;
                case FEBRERO:
                    ultimoDiaMes = primerDiaMes + 28;
                    if(bisiesto) ultimoDiaMes++;
                    break;
            }
        }
        
        System.out.print((num - primerDiaMes) + " de ");

        switch (mesActual)
        {
            case ENERO:
                System.out.println("enero");
                break;
            case FEBRERO:
                System.out.println("febrero");
                break;
            case MARZO:
                System.out.println("marzo");
                break;
            case ABRIL:
                System.out.println("abril");
                break;
            case 5:
                System.out.println("mayo");
                break;
            case 6:
                System.out.println("junio");
                break;
            case 7:
                System.out.println("julio");
                break;
            case 8:
                System.out.println("agosto");
                break;
            case 9:
                System.out.println("septiembre");
                break;
            case 10:
                System.out.println("octubre");
                break;
            case 11:
                System.out.println("noviembre");
                break;
            case 12:
                System.out.println("dicimbre");
                break;

        }
    }
}
